Until recently, all optical processing architectures described for performing either matrix-vector or matrix-matrix multiplication have been limited to accuracies typically in the 8-10 bit range. This accuracy limitation is largely attributed to the fact that matrix and vector element information has been encoded using conventional analog representations.
Despite the conventional approaches attempts are being made to increase the accuracy of optical processors by using either residue or binary arithmetic representations. Two approaches were advocated by R. A. Athale, W. C. Collins and P. D. Stilwell and appear in technical articles. The articles entitled "High Accuracy Matrix Multiplication With Outer Product Processor" and "Improved Accuracy for an Optical Iterative Processor" Applied Optics 22, 368(1983) and Proceedings of the Society of Photo-Optic Instrumentation Engineers 352 (1983), respectively, are based on the emergence of performing matrix-matrix multiplication using outer products and a technique for multiplying two numbers in binary form via convolution (the outer product approach is more thoroughly defined in an article by R. A. Athale and W. C. Collins in "Optical Matrix-Matrix Multiplier Based on Outer Product Decomposition" Applied Optics 21, 2089 (1982). The outer product between two vectors is performed using optical techniques by crossing two linear-array light modulators in the manner as described by A. Tarasevich, N. Zepkin and W. T. Rhodes in their article "Matrix Vector Multiplier with Time-Varying Single Dimensional Spatial Light Modulators," Optical Information Processing for Aerospace Applications, NASA Conference Publication 2207 (NTIS, Springfield, Va., 1981).
The binary multiplication via convolution technique was first suggested by H. J. Whitehouse and J. M. Speiser in "Aspects of Signal Processing with Emphasis on Underwater Acoustics", G. Tacconi, Ed. (Reidel, Dordrecht, 1977), Part 2. The same technique was later described by D. Psaltis, D. Casasent, D. Neft, and M. Carlotto in their presentation in Proceedings of the Society of Photo-Optic Instrumentation Engineers 232 151 (1980). Psaltis and his colleagues gave the binary multiplication via convolution technique an optical implementation point of view.
This convolutional technique is novel in that binary numbers may be added without carries if the output is allowed to be represented in a mixed binary format. In a mixed binary format, like binary arithmetic, each digit is weighted by a power of 2, but unlike binary arithmetic the value of each digit can be greater than 2. It is the elimination of the need for carries that makes this technique particularly attractive in terms of optical implementation.
An explanation of why having carries as a limitation is brought out by John D. Gossling in his chapter "Addition" in Design of Arithmetic Units for Digital Computers Springer-Verlag New York, Inc. (1980). On page 6 et seq, under the heading "Basic Addition" Gossling shows three interconnected registers that require the addition of numbers. The X.sub.1 Y.sub.1 operation may have a carry that first must be determined before there is addition to the next register; then the next register for X.sub.2 Y.sub.2 must determine if it has a carry before operation of the adjacent register X.sub.3 Y.sub.3 can occur to complete the process. This time consuming sequence, common in electronic digital techniques, is a consequence of having sequential additions and the generation of carries which must occur prior in some registers before the operations can progress to other registers.
This problem of conventional electronic shift registers takes time to carry bits to adjacent registers to implement a mathematical operation. Heretofore optical processors could not follow this procedure because there simply are not equivalent structures or components for optical information processing, particularly with respect to analog signal processing. There have not been any optical shift registers for digital implementations.
Analysis and applications concerning this technique have been limited primarily to matrices with real-positive elements only. An exception to this statement was demonstrated by Collins, Athale and Stillwell in their second article identified above and called for a method for handling complex matrix elements by partitioning the complex numbers into four parts. These four parts were, positive and negative real and positive and negative imaginary. Matrix-vector or matrix-matrix products would then consist of sixteen subproducts which each could be executed sequentially and combined externally.
Thus there is a continuing need in the state-of-the-art for electrooptical processing for a matrix-matrix multiplier using twos complement arithmetic that provides a means for handling bipolar numbers, that avoids the need for matrix partitioning when the matrices are real and that offers a means to improve accuracy over conventional optical analog techniques.